home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / prog_c / cuj0696.zip / DWYER.ZIP / COLISION.TST / KSTEST_2.AWK < prev    next >
Text File  |  1996-03-02  |  2KB  |  66 lines

  1. BEGIN\
  2. {
  3.     MinKnPos = 100000;
  4.     MinKnNeg = 100000;
  5. #    printf("How Many Items?  ");
  6.     ItemCnt = 500;
  7. #    ItemCnt = 10;
  8. #    ItemCnt = 1000;
  9.     ItemCnt = 100;
  10.     printf("%d Items Expected\n", ItemCnt);
  11. }
  12. {
  13.     ++J
  14. #    NextKnPos = J/ItemCnt - $NF/100;
  15.     NextKnPos = J/ItemCnt - $NF;
  16.     if (J <= ItemCnt)
  17.     {
  18.     if (NextKnPos > KnPos)
  19.     {
  20.         KnPos = NextKnPos;
  21.         MaxIdx = J;
  22.     }
  23.     if (NextKnPos < MinKnPos)
  24.     {
  25.         MinKnPos = NextKnPos;
  26.         MinPosIdx = J;
  27.     }
  28.  
  29.     NextKnNeg = -(NextKnPos - 1/ItemCnt);
  30.  
  31.     if (NextKnNeg > KnNeg)
  32.     {
  33.         KnNeg = NextKnNeg;
  34.         MinIdx = J;
  35.     }
  36.     if (NextKnNeg < MinKnNeg)
  37.     {
  38.         MinKnNeg = NextKnPos;
  39.         MinNegIdx = J;
  40.     }
  41.     }
  42. }
  43. END\
  44. {
  45.     printf("%d Items Processed\n\n", J);
  46.     X = KnPos * sqrt(J);
  47.     printf("KnPlus  = %.5f\n", X);
  48.     Darling = 1 - exp(-2*X^2)*(1 - (2/3)*X/sqrt(J));
  49.     printf("KS Kn+ Probability = %.5f%%\n\n", 100*Darling);
  50.  
  51.     X = KnNeg * sqrt(J);
  52.     printf("KnMinus = %.5f\n", X);
  53.     Darling = 1 - exp(-2*X^2)*(1 - (2/3)*X/sqrt(J));
  54.     printf("KS Kn- Probability = %.5f%%\n\n", 100*Darling);
  55.  
  56.     printf("Maximum KnPlus  Occurred at Index %d\n", MaxIdx);
  57.     printf("Maximum KnMinus Occurred at Index %d\n", MinIdx);
  58.     printf("Minimum KnPlus  Occurred at Index %d\n", MinPosIdx);
  59.     printf("Minimum KnMinus Occurred at Index %d\n", MinNegIdx);
  60.  
  61. #    Knuth   = 1 - exp(-2*(X + 1/(6*sqrt(J)))^2);
  62. #    printf("\tD. E. Knuth's   Approximation = %.14e\n", Knuth);
  63. #    Knuth   = 1 - exp(-2*(X + 1/(6*sqrt(J)))^2);
  64. #    printf("\tD. E. Knuth's   Approximation = %.14e\n", Knuth);
  65. }
  66.